package com.vhly.tuite.twclient.client;

/**
 * Created by IntelliJ IDEA.
 * User: vhly[FR]
 * Date: 2009-11-7
 * Time: 15:22:56
 * Platform: Mac OS X 10.5.8
 *
 * @author vhly[FR]
 */
public final class Constants {
    public static final String twitterAPIServer = "http://twitter.com";
    public static final String twitterSearchServer = "http://search.twitter.com";

    // api format
    public static final int FORMAT_TYPE_XML = 0;
    public static final int FORMAT_TYPE_JSON = 1;
    public static final int FORMAT_TYPE_RSS = 2;
    public static final int FORMAT_TYPE_ATOM = 3;

    // api category
    public static final int CATEGORY_STATUS = 0;
    public static final int CATEGORY_USERS = 1;
    public static final int CATEGORY_DIRECT_MESSAGES = 2;
    public static final int CATEGORY_FRIENDSHIPS = 3;
    public static final int CATEGORY_SOCIAL_GRAPH = 4;
    public static final int CATEGORY_ACCOUNT = 5;
    public static final int CATEGORY_FAVORITE = 6;
    public static final int CATEGORY_NOTIFICATION = 7;
    public static final int CATEGORY_BLOCKS = 8;
    public static final int CATEGORY_HELP = 9;
    public static final int CATEGORY_OAUTH = 10;
    public static final int CATEGORY_SPAM_REPORT = 11;
    public static final int CATEGORY_SEARCH = 12;
    public static final int CATEGORY_USER_LIST = 13;

    // statuses
    public static final int METHOD_STATUSES_DESTORY = 0;
    public static final int METHOD_STATUSES_FOLLOWERS = 1;
    public static final int METHOD_STATUSES_FRIENDS = 2;
    public static final int METHOD_STATUSES_FRIENDS_TIMELINE = 3;
    public static final int METHOD_STATUSES_PUBLIC_TIMELINE = 4;
    public static final int METHOD_STATUSES_REPLIES = 5;
    public static final int METHOD_STATUSES_SHOW = 6;
    public static final int METHOD_STATUSES_UPDATE = 7;
    public static final int METHOD_STATUSES_USER_TIMELINE = 8;
    // Come soon
    public static final int METHOD_STATUSES_HOME_TIMELINE = 9;
    public static final int METHOD_STATUSES_RETWEETED_BY_ME = 10;
    public static final int METHOD_STATUSES_RETWEETED_TO_ME = 11;
    public static final int METHOD_STATUSES_RETWEETS_OF_ME = 12;
    public static final int METHOD_STATUSES_RETWWEET = 13;
    public static final int METHOD_STATUSES_RETWEETSS = 14;
    public static final int METHOD_STATUSES_MENTIONS = 15;

    // users
    public static final int METHOD_USERS_SHOW = 0;
    public static final int METHOD_USERS_SEARCH = 1;

    // direct_messages
    public static final int METHOD_DIRECT_MESSAGES = 0;
    public static final int METHOD_DIRECT_MESSAGES_DESTROY = 1;
    public static final int METHOD_DIRECT_MESSAGES_NEW = 2;
    public static final int METHOD_DIRECT_MESSAGES_SENT = 3;

    // friendship
    public static final int METHOD_FRIENDSHIP_CREATE = 0;
    public static final int METHOD_FRIENDSHIP_DESTROY = 1;
    public static final int METHOD_FRIENDSHIP_EXISTS = 2;
    public static final int METHOD_FRIENDSHIP_SHOW = 3;

    // CATEGORY_SOCIAL_GRAPH
    public static final int METHOD_FRIENDS = 0;
    public static final int METHOD_FOLLOWERS = 1;

    // Account
    public static final int METHOD_ACCOUNT_END_SESSION = 0;
    public static final int METHOD_ACCOUNT_RATE_LIMIT_STATUS = 1;
    public static final int METHOD_ACCOUNT_UPDATE_DELIVERY_DEVICE = 2;
    public static final int METHOD_ACCOUNT_UPDATE_LOCATION = 3;
    public static final int METHOD_ACCOUNT_UPDATE_PROFILE = 4;
    public static final int METHOD_ACCOUNT_UPDATE_PROFILE_BACKGROUND_IMAGE = 5;
    public static final int METHOD_ACCOUNT_UPDATE_PROFILE_COLORS = 6;
    public static final int METHOD_ACCOUNT_UPDATE_PROFILE_IMAGE = 7;
    public static final int METHOD_ACCOUNT_VERIFY_CREDENTIALS = 8;

    // favorite
    public static final int METHOD_FAVORITES = 0;
    public static final int METHOD_FAVORITES_CREATE = 1;
    public static final int METHOD_FAVORITES_DESTROY = 2;

    // notification
    public static final int METHOD_NOTIFICATIONS_FOLLOW = 0;
    public static final int METHOD_NOTIFICATIONS_LEAVE = 1;

    // blocks
    public static final int METHOD_BLOCKS_CREATE = 0;
    public static final int METHOD_BLOCKS_DESTROY = 1;
    public static final int METHOD_BLOCKS_EXISTS = 2;
    public static final int METHOD_BLOCKS_BLOCKING = 3;
    public static final int METHOD_BLOCKS_BLOCKING_IDS = 4;

    // help
    public static final int METHOD_HELP_TEST = 0;

    // oauth
    public static final int METHOD_OAUTH_REQUEST_TOKEN = 0;
    public static final int METHOD_OAUTH_AUTHORIZE = 1;
    public static final int METHOD_OAUTH_AUTHENTICATE = 2;
    public static final int METHOD_OAUTH_ACCESS_TOKEN = 3;

    // spam report
    public static final int METHOD_SPAM_REPORT = 0;

    public static final int METHOD_SEARCH_KEYWORD = 0;
    public static final int METHOD_SEARCH_TREND = 1;
    public static final int METHOD_SEARCH_TREND_CURRENT = 2;
    public static final int METHOD_SEARCH_TREND_DAILY = 3;
    public static final int METHOD_SEARCH_TREND_WEEKLY = 4;

    // List /user/list
    public static final int METHOD_USER_LIST_LISTS = 0;
    public static final int METHOD_USER_LIST_LISTS_ID_STATUSES = 1;
    public static final int METHOD_USER_LIST_LISTS_MEMBERSHIPS = 2;
    public static final int METHOD_USER_LIST_LISTS_SUBSCRIPTIONS = 3;

    public static final int METHOD_USER_LIST_ID_MEMBERS = 4;
    public static final int METHOD_USER_LIST_ID_SUBSCRIBERS = 5;


    // api http method
    public static final int HTTP_API_GET = 0;
    public static final int HTTP_API_POST = 1;
    public static final int HTTP_API_DELETE = 2;
    public static final int HTTP_API_HEAD = 3;

    // auth type
    public static final int AUTH_TYPE_NONE = 0;
    public static final int AUTH_TYPE_BASIC = 1;
    public static final int AUTH_TYPE_OAUTH = 2;

    public static final String[] categories = {
            "/statuses", "/users", "/direct_messages", "/friendships",
            "", "/account", "/favorites",
            "/notifications", "/blocks", "/help", "/oauth", "/report_spam"};
}
